Developer Documentation

QuickTime 4 API Documentation

QuickTime Streaming

| Previous | Chapter Contents | Chapter Top | Next |

The Base Reassembler

Your packet reassembler relies on a base reassembler component to do most of the routine reassembly work. Your reassembler can modify some of the base reassembler's default behaviors simply by setting flags.With a few exceptions, your reassembler implements reassembler functions only when it needs to override the normal behavior of the base reassembler.

The base reassembler's main function is to assemble incoming packets into "chunks", then pass the chunks to a stream handler. A chunk is the amount of data useful to a particular stream handler, such as a video frame or twenty milliseconds of audio.

Your reassembler must specify the type of stream handler needed, but your reassembler doesn't work with stream handlers directly. The base reassembler does this for you.

The default behavior of the base reassembler is as follows:

Your reassembler can change this default by telling the base reassembler that every packet is a chunk.

The base reassembler assumes a zero-length payload header (no payload header) unless your reassembler sets a nonzero payload header length as the default.

The base reassembler can be set to inform your reassembler that a chunk has missing packets.

By implementing certain functions, you can cause the base reassembler to call your reassembler at one of several points to override or modify the default behavior:

Implement this function

Your reassembler will be called...

RTPRssmAdjustPacketParams When each packet is received, after the base reassembler fills out the RTPRssmPacket struct
RTPRssmSendPacketList When the packet list is complete
RTPRssmComputeChunkSize When the chunk size is calculated
RTPRssmCopyDataToChunk When the data is copied into the chunk record

This is discussed further in the sections "Handling Packets Yourself" and "Handling Chunks Yourself".


© 1998 Apple Computer, Inc.

| Previous | Chapter Contents | Chapter Top | Next |